home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Info / For Developers / McSerialnumber 1.2 / McSerialnumber README < prev    next >
Text File  |  1999-03-18  |  15KB  |  229 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. New Version 1.2
  13.  
  14. Whats new!
  15.  
  16. McSerialnumber 1.2 Application supports now the Appearance Mgr. and the Navigation Mgr. as well as it is fully MacOS 8.5 and X savy. 
  17. The preferences dialog shows now an additional checkbox "Always warn before deleting database items". Some more small cosmetic fixes beside the productname is now McSerialnumber instead of McSerialNumber.
  18.  
  19. Version-numbering is now in synch with the Windows Version (both 1.2).
  20.  
  21. What can I do with it?
  22.  
  23. McSerialnumber is a simply but fairly secure solution for developers to generate unique 
  24. serial numbers using a master key and the customers names. The generated serial number will 
  25. be stored in a database, which can hold additional customer information like e-mail, address 
  26. and phone number.
  27. All information can be imported and exported from or to a text file using customizable delimiter fields.
  28.  
  29. The application offers basic database functionality (store, delete, sort and find) and I'm not planning to 
  30. incorporate more sophisticated features because for any advanced use you can easily export to FileMaker, 
  31. Excel or real databases.
  32.  
  33. The user interface of the application is in quite simple and self explaining but you can switch on Balloon Help to find out more about specific features and fields to use.
  34.  
  35. How can I work with it?
  36.  
  37. McSerialnumber 1.2 is as it's predecessor 1.0 and 1.1 a demo version which is fully functional except you will not find the libraries you need to implement the serialization mechanism into your application. You can generate the required libraries after you register the program.
  38.  
  39. Feel free to play around and give it to friends and colleges but register if you find it useful. 
  40.  
  41. Only the registered version will enable you to create a set of Metrowerks (PPC, 68k and x86) libraries 
  42. uniquely serialized with your master key number to use with your development environment.
  43. You can change the master key as often you want and re-generate newly serialized libraries at any time.
  44.  
  45. The McSerialnumber application runs only on Systems with System Software Version 7.1 and greater. It needs Color Quickdraw/HW and at least a 68020 Processor or a Power PC.
  46.  
  47. The Libraries can be used with ervery available Macintosh (no FPU needed) and CPUs running Windows95/98/NT!
  48.  
  49.  
  50. The system uses 3 different 64-bit numbers to build a secure solution for your application :
  51.  
  52. 1. A serial number generated by the McSerialnumber application 
  53. 2. A master key number for a series of serial numbers which you create and and enter in the Preferences Dialog
  54. 3. A serial key which is generated internally when you create your set of libraries. It uniquely serializes your libraries.
  55.  
  56. You actually never see the serial key number which is always unique to your library and provides an 
  57. additional security feature to protect your application master key number.
  58.  
  59.  
  60. Simple steps and a small code snippet to implement the libraries in your application:
  61.  
  62. 1. Register the program in the About McSerialnumber Dialog
  63.  
  64. 2. Create the libraries. 
  65. McSerialnumber automatically serializes your libraries with last default master key during creation. 
  66. The master key number is the 64 bit hexadecimal number (e.g <A256CC9010BB01> .
  67.  
  68. HINT: Use the master key and the library call GetMasterKey(nil) you can check your product for 
  69. integrity (which helps to prevent from messing around with your code!!!).
  70.  
  71. 3. Beside using your own ideas and solutions you can use the following calls as 
  72.     a sample on how to use the a serial number libraries API:
  73.  
  74.     ......
  75.         // strips all non hexadecimal characters like white spaces or hyphen 
  76.     if(CSerialNumLib::StripSerialNumber( inSerialNumStr, outSerNr)) {
  77.     
  78.             // Calculates a test number from the input names
  79.         long long nameCode = CSerialNumLib::CalcNameCode( aFirstNameStr, aLastNameStr);
  80.         
  81.             // Gets the unique 64 bit master code from your serialized library.
  82.             // It returns nil if somebody has messed with the code
  83.             //
  84.             // ATTENTION:
  85.             // the MasterKey is ONLY valid with the last generated library
  86.             // it will ALWAYS change EVERY time you change your master key and generate
  87.             //    a new library!!!
  88.             
  89.         long long MasterCode    = CSerialNumLib::GetMasterCode( nil );
  90.         
  91.             // the generated serial number entered by your customer
  92.             // will be validated here
  93.             
  94.         if( CSerialNumLib::CheckSumTest(nameCode, outSerNr, MasterCode) ) {
  95.             // .... OK ... do something here....
  96.         }
  97.     .......
  98.  
  99. 4. Well I know this sample is too simple to be be a really good one.....oops!!
  100.             Although I recommend: never put all registration enabling switches into one single block
  101.       of code, just try to scatter these routines with multi level dependencies etc. and
  102.    check for both name and serial number separately because if somebody hacks or NOPs one
  103.       of your switches there is always the registration name left to test for integrity 
  104.       somewhere else!
  105.  
  106. NOTE: A Mac OS and Windows sample project can now be downloaded from <http://members.aol.com/mcwareusa>
  107.  
  108. 5. FOR YOUR SECURITY and to mutual trust, please never give away both your serialized libraries and 
  109. the McSerialnumber application, because you will destroy other colleges hard work or can be held liable for other copyright infringements!
  110.  
  111. For further more detailed APIs and comments on the library calls available to your application check the 
  112. <CSerialNumLib.h> header file.
  113.  
  114. IMPORTANT NOTE:
  115. In order to protect your serial number scheme in your application I do NOT require to show or add any
  116. copyright notice in your application! (see part 3 of the license agreement)
  117.  
  118.  
  119. What does it cost?
  120.  
  121. McSerialnumber has the following pricing.
  122. single user licenses, $15 per user
  123.  
  124. A Site License costs $350 (roughly equal to 27 users) and covers all locations for your organization within a 160 kilometer radius of your site (100 miles). One big advantage of a Site License is that you do not need
  125. to keep track of how many people at your site are using the software. 
  126. A World-Wide License costs $2500 and it covers all locations for your organization on the planet earth.
  127.  
  128. Paying for McSerialnumber is fairly simple. Open the Register program that accompanies McSerialnumber. Enter your name,
  129. your e-mail address, and the number of single user licenses you desire for each program you wish to purchase (or Site or Word-Wide licenses). Save or Copy or Print the data from the Register program and send the data and payment to Kagi. More specifics on the Register program to follow. Kagi handles my payment processing.
  130.  
  131. If paying with Credit Card or First Virtual, you can e-mail or fax the data to Kagi. Their e-mail address is
  132. sales@kagi.com and their fax number is +1 510 652-6589. You can either Copy the data from Register and paste into the body of an e-mail message or you can Save the data to a file and you can attach that file to an e-mail message. There is no need to compress the data file, it's already pretty small. If you have a fax modem, just Print the data to the Kagi fax number. 
  133.  
  134. Payments sent via e-mail are processed within 3 to 4 days. You will receive an e-mail acknowledgement when it is processed. Payments sent via fax take up to 10 days and if you provide a correct internet e-mail address you will receive an e-mail acknowledgement.
  135.  
  136. If you are paying with Cash or USD Check you should print the data using the Register application and send it to the address shown on the form, which is: 
  137.  
  138.       Kagi
  139.       1442-A Walnut Street #392-6QW
  140.       Berkeley, California 94709-1405
  141.       USA
  142.  
  143.  
  144. You can pay with a wide variety of cash from different countries but at present if you pay via check, it must be a check drawn in US Dollars. Kagi cannot accept checks in other currencies, the conversion rate for non-USD checks is around USD 15 per check and that is just not practical.
  145. If you have a purchasing department, you can enter all the data into the Register program and then select Invoice as your payment method. Print three copies of the form and send it to your accounts payable people. You might want to highlight the line that mentions that they must include a copy of the form with their payment. 
  146. Kagi can not invoice your company, you need to act on my behalf and generate the invoice and handle all the paperwork on your end. 
  147. Please do not fax or e-mail payment forms that indicate Cash, Check or Invoice as the payment method. As far as we know, there is still no technology to transfer physical objects via fax or e-mail and without the payment, the form cannot be processed.
  148. Payments send via postal mail take time to reach Kagi and then up to 10 days for processing. Again, if you include a correct e-mail address, you will hear from Kagi when the form is processed.
  149.  
  150. Protection
  151. McSerialnumber has a protection scheme and when you pay, we tell you how to indicate to the Author at McWare that you have paid the registration fee. If you do not have an e-mail address, please enter your complete postal address and please remember, we do not know what country you live in so please enter that into the postal address also. 
  152. Assuming that Kagi provides the user with the registration code:
  153. If you do not have an e-mail address you should consider selecting the Postcard Receipt so that Kagi can inform you of your registration code. Kagi transmits the registration codes via e-mail and paid postcard receipt only.
  154.  
  155.  
  156. Acknowledgements?
  157.  
  158. Parts of this program are made with contributed classes:
  159.  
  160. Balloon Help is ©1998 by James W. Walker
  161. <mailto:jwwalker@kagi.com>
  162.  
  163. Version Caption is ©1997 John C. Daub 
  164. <mailto:hsoi@eden.com>    
  165. <http://www.eden.com/~hsoi/>  <http://www.eden.com/~hsoi/prog.html>
  166.  
  167. The program is developed with CodeWarrior (C++) using PowerPlant
  168. both CodeWarrior and PowerPlant is Copyright Metrowerks, Inc
  169.  
  170.  
  171.  
  172.  
  173. What are the legal requirements to use the libraries and the program?
  174.  
  175. By using any portion of the program, object code, libraries or the Header file in this folder you agree to the following
  176. license:
  177.  
  178.  
  179. License Agreement
  180. —————————————————
  181. The following listed files are part of this license agreement:
  182.  
  183. the Application(s):                         McSerialnumber(PPC) and/or McSerialnumber(68k) version 1.0, 1.1 and 1.2,
  184. the Object Code Libraries:             SerialDeco(PPC).lib, SerialDeco(68k).lib, SerialDeco(x86).lib 
  185.                                                                                                 (only available with registered software)
  186. the Header File:                                             CSerialNumLib.h, version 1.0, 1.1 and 1.2
  187.  
  188. The following listed items describes the redistributable parts that licensees hereunder may incorporate into their own programs and distribute (only in object code form) only in conjunction with and as part of  their own programs:
  189.  
  190. the Object Code Libraries:          SerialDeco(PPC).lib, SerialDeco(68k).lib, SerialDeco(x86).lib 
  191.                                                                                                 (only available with registered software)
  192. and the Header File:                                CSerialNumLib.h, version 1.0, 1.1 and 1.2
  193.  
  194. All items listed above shall be collectively referred to as the "Product".
  195.  
  196. 1. License. The Author Wilfried Bernard/McWare USA grants to you, and you accept, a nonexclusive, nontransferable license to distribute the Product for use with your programs. You may distribute this product in object code form only and only on magnetic diskettes, CD-ROM or other media with your programs into which parts of the Product has been incorporated. You agree that this license gives you no title or rights of ownership in this product and acknowledge that the Product is proprietary to Wilfried Bernard/McWare USA.
  197.  
  198. 2. Restrictions. The Product contains copyrighted material, trade secrets, and other proprietary material. In order to protect them, and except as permitted by applicable legislation, you may not decompile, reverse engineer, disassemble or otherwise reduce the Software to a human-perceivable form. You may not modify, rent, lease, loan, distribute or create derivative works based upon the Product in whole or in part.
  199.  
  200. 3. Software Redistribution. You may only use the unchanged Header file and Libraries as unmodified parts of the Product, to compile it with your sources, and incorporate the resulting object code as binaries only in conjunction with and as part of  your own programs. In order to protect your applications serial number scheme a written notice of this license is not required to be included nor any copyright notice of the author. 
  201.  
  202. 4. Government End Users. If you are acquiring the Product on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees that the Software and fonts shall be classified as "commercial computer software" as that term is defined in the applicable provisions of the Federal Acquisition Regulation ("FAR") and supplements thereto, including the Department of Defense ("DoD") FAR Supplement ("DFARS"). If the Software and Libraries are supplied for use by DoD, it is delivered subject to the terms of this Agreement and either (i) in accordance with DFARS 227.7202-1(a) and 227.7202-3(a), or (ii) with restricted rights in accordance with DFARS 252.227-7013(c)(1)(ii) (OCT 1988), as applicable. If the Software and fonts are supplied for use by any other Federal agency, it is restricted computer software delivered subject to the terms of this Agreement and (i) FAR 12.212(a); (ii) FAR 52.227-19; or (iii) FAR 52.227-14(ALT III), as applicable.
  203.  
  204. 5. Export Law Assurances. You agree and certify that neither the Product nor any other technical data received from Wilfried Bernard/McWare, nor the direct product thereof, will be exported outside the United States except as authorized and as permitted by the laws and regulations of the United States. If the Product has been rightfully obtained by you outside of the United States, you agree that you will not reexport the Product nor any other technical data received from Wilfried Bernard/McWare, nor the direct product thereof, except as permitted by the laws and regulations of the United States and the laws and regulations of the jurisdiction in which you obtained the Software.
  205.  
  206. 6. Disclaimer of Warranty. You expressly acknowledge and agree that use of the Product is at your sole risk. Wilfried Bernard/McWare USA licenses and provides the Product to you on an "as-is" basis. 
  207.  
  208. WILFRIED BERNARD/MCWARE USA MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, REGARDING  
  209. THIS PRODUCT, ITS PERFORMANCE, MERCHANTABILITY, OR ITS FITNESS FOR ANY PURPOSE. IN NO EVENT SHALL THE AUTHOR
  210. AND/OR THE COMPANY BE HELD LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGE OR
  211. LOSSES RESULTING FROM THE USE OR MISUSE OF THIS PRODUCT EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
  212. POSSIBILITY OF SUCH. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU.
  213.  
  214. In no event shall Wilfried Bernards' total liability to you for all damages, losses, and causes of action (whether in contract, tort (including negligence) or otherwise) exceed that portion of the amount paid by you which is fairly attributable to the Product.
  215.  
  216. If this license is too restrictive with the current law in your states/province or
  217. country, YOU SHOULD NOT USE THIS CODE AT ALL.
  218.  
  219. End of the license agreement.
  220.  
  221.  
  222. How to contact the Author?
  223.  
  224. You may contact Wilfried Bernard at one of the following eMail addresses.
  225.  
  226. America Online:                    wbernardd
  227. Internet:                                                                                ceo@mcware.com or mcwareusa@kagi.com
  228. WWW-Page:                                            http://members.aol.com/mcwareusa
  229.